package com.zw.mes.module.transpositionManager.mapper;


import com.zw.mes.entity.asse.HalfStore;
import com.zw.mes.entity.flow.FlowRoute;
import com.zw.mes.entity.flow.FlowTrans;
import com.zw.mes.entity.shipments.AsseHalfStoreRecord;
import com.zw.mes.entity.sys.Dept;
import com.zw.mes.entity.sys.User;
import com.zw.mes.module.transpositionManager.model.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;


/**
 * @className: TranspositionApplyCheckMapper
 * @description: 申请质检持久层
 * @author： 徐一贺 18341916590
 * @date： 2021/4/23 14:29
 * @office: 智能控制设计科
 * @research institute： 智能控制设计所
 * @department： 机械设计院
 * @company: 辽宁忠旺机械设备制造有限公司
 * @group： 忠旺集团
 * @version: 1.0
 */
@Repository
public interface TranspositionApplyCheckMapper {

    /**
     * @methodName: getUserInfoByPrimaryKey
     * @description: 根据主键获取对应的用户信息 包括部门名称 科室名称
     * @param: userId
     * @return： com.zw.mes.entity.sys.User
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/23 14:35
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    public User getUserInfoByPrimaryKey(Integer userId);

    /**
     * @methodName: findApplyList
     * @description: 获取扫码结果
     * @param: parse
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.CheckApplyModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/23 15:54
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<CheckApplyModel> findApplyList(QrParse parse);

    /**
     * @methodName: getNewMayApplyNum
     * @description: 根据id获取可申请数量
     * @param: id
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/24 8:23
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer getNewMayApplyNum(Integer id);

    int updateRouteApply(FlowRouteModel route);

    /**
     * @methodName: getFlowRouteByPeimaryKey
     * @description: 根据主键获取路线
     * @param: id
     * @return： com.zw.transition.entity.FlowRoute
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/21 13:34
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRouteModel getFlowRouteByPeimaryKey(Integer id);

    int addTrans(FlowTransModel trans);

    /**
     * @methodName: findRecListByParam
     * @description: 获取转序接收列表
     * @param: param
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.TransferReceiveModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 9:53
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<TransferReceiveModel> findRecListByParam(QrParse parse);

    /**
     * @methodName: getTrans
     * @description: 根据主键获取
     * @param: id
     * @return： com.zw.mes.module.transpositionManager.model.FlowTransModel
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:16
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowTransModel getTrans(Integer id);

    /**
     * @methodName: getLastRoute
     * @description: 获取最后一道序
     * @param: cur
     * @return： com.zw.transition.entity.FlowRoute
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/16 13:56
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRoute getLastRoute(FlowRoute cur);

    /**
     * @methodName: updateRecTrans
     * @description: 更新转序单
     * @param: trans
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:23
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRecTrans(FlowTransModel trans);

    /**
     * @methodName: findCurRoute
     * @description: 获取当前路线
     * @param: trans
     * @return： com.zw.mes.entity.flow.FlowRoute
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:24
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRoute findCurRoute(FlowTransModel trans);

    /**
     * @methodName: getNextRoute
     * @description: 获取下一道序
     * @param: cur
     * @return： com.zw.mes.entity.flow.FlowRoute
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:25
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRoute getNextRoute(FlowRoute cur);

    /**
     * @methodName: getFirstRoute
     * @description: 获取首序
     * @param: cur
     * @return： com.zw.mes.entity.flow.FlowRoute
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:26
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRoute getFirstRoute(FlowRoute cur);

    /**
     * @methodName: updateRouteRecNum
     * @description: 更新接收数量
     * @param: nextRoute
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:27
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRouteRecNum(FlowRoute nextRoute);

    /**
     * @methodName: findNextRoute
     * @description: 获取下个路线
     * @param: cur
     * @return： com.zw.mes.entity.flow.FlowRoute
     * @exception： 
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:28
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRoute findNextRoute(FlowRoute cur);

    /**
     * @methodName: findCheckList
     * @description: 获取质检列表
     * @param: parse
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.CheckModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:52
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<CheckModel> findCheckList(QrParse parse);

    /**
     * @methodName: getSheet
     * @description: 获取主单
     * @param: cur
     * @return： com.zw.mes.module.transpositionManager.model.FlowSheetModel
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 14:33
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowSheetModel getSheet(FlowRoute cur);

    /**
     * @methodName: insertHalfStore
     * @description: 插入半成品库
     * @param: store
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 14:33
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int insertHalfStore(HalfStore store);

    /**
     * @methodName: updateRouteCheck
     * @description: 更新质检路线
     * @param: cur
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 14:34
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRouteCheck(FlowRoute cur);

    /**
     * @methodName: updateCheckTrans
     * @description: 更新质检转序单
     * @param: t
     * @return： void
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 14:35
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    void updateCheckTrans(FlowTransModel t);

    /**
     * @methodName: updateSheetInvalid
     * @description: 作废
     * @param: sheet
     * @return： void
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 14:52
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateSheetInvalid(FlowSheetModel sheet);
    /**
     * @methodName: updateRejectTrans
     * @description: 更新驳回路线
     * @param: t
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 14:53
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRejectTrans(FlowTransModel t);

    /**
     * @methodName: findHisCheckList
     * @description: 获取历史质检列表
     * @param: param
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.FlowModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 15:11
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<FlowModel> findHisCheckList(FlowModel param);

    /**
     * @methodName: delHalfStore
     * @description: 删除半成品库数据
     * @param: id
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 16:21
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int delHalfStore(Integer id);

    /**
     * @methodName: findHisApplyList
     * @description: 获取历史申请列表
     * @param: param
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.FlowModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 16:55
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<FlowModel> findHisApplyList(FlowModel param);

    /**
     * @methodName: getFlowRouteByPrimaryKey
     * @description: 根据主键获取路线
     * @param: routeId
     * @return： com.zw.mes.entity.flow.FlowRoute
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 8:26
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    FlowRoute getFlowRouteByPrimaryKey(Integer routeId);

    /**
     * @methodName: updateRouteApplyToCancelApply
     * @description: 因取消申请更新路线信息
     * @param: flowRoute
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 8:28
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRouteApplyToCancelApply(FlowRoute flowRoute);

    /**
     * @methodName: deleteTrans
     * @description: 删除转序单
     * @param: trans
     * @return： int
     * @exception： 
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 8:29
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int deleteTrans(FlowTrans trans);
    /**
     * @methodName: updateTransStatus
     * @description: 根据主键修改状态
     * @param: id
     * @param: status
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 8:39
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateTransStatus(@Param("id") Integer id, @Param("status") Integer status);

    /**
     * @methodName: updateTransIsdel
     * @description: 更改删除状态
     * @param: id
     * @param: isDel
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 8:47
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateTransIsdel(@Param("id") Integer id, @Param("isDel") Integer isDel);
    /**
     * @methodName: updateRouteDel
     * @description: 恢复删除数量
     * @param: route
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 8:48
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRouteDel(FlowRoute route);

    /**
     * @methodName: findHisRecList
     * @description: 历史接收列表
     * @param: param
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.FlowModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 9:16
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<FlowModel> findHisRecList(FlowModel param);


    /**
     * @methodName: findCompleteApplyList1
     * @description: 获取完成的申请数量
     * @param: parse
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.CheckApplyModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 9:53
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<CheckApplyModel> findCompleteApplyList1(QrParse parse);

    /**
     * @methodName: findCompleteApplyList2
     * @description: 获取质检完成数量
     * @param: parse
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.CheckApplyModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 9:58
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<CheckApplyModel> findCompleteApplyList2(QrParse parse);

    /**
     * @methodName: findCompleteApplyList3
     * @description: 接收完成数量
     * @param: parse
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.CheckApplyModel>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 10:04
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<CheckApplyModel> findCompleteApplyList3(QrParse parse);

    /**
     * @methodName: insertAsseHalfStoreRecord
     * @description: 插入入库记录
     * @param: record
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/29 13:32
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int insertAsseHalfStoreRecord(AsseHalfStoreRecord record);

    /**
     * @className: TranspositionApplyCheckMapper
     * @description: 根据 生产令编号 部分 专业 图号 获取对应的库存
     * @author： 徐一贺 18341916590
     * @date： 2021/4/29 13:47
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    HalfStore getExistHalfStore(HalfStore store);

    /**
     * @methodName: updateHalfStoreDrawNumByPrimary
     * @description: 根据主键更新库存数量
     * @param: existHalfStore
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/29 13:51
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateHalfStoreNumByPrimary(HalfStore existHalfStore);

    /**
     * @methodName: getAsseHalfStoreRecordByPrimaryKey
     * @description: 根据主键获取半成品库的记录
     * @param: recordId
     * @return： com.zw.mes.entity.shipments.AsseHalfStoreRecord
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/29 14:30
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    AsseHalfStoreRecord getAsseHalfStoreRecordByPrimaryKey(Integer recordId);

    /**
     * @className: TranspositionApplyCheckMapper
     * @description: 根据 生产令编号 部分 专业 图号 获取对应的库存
     * @author： 徐一贺 18341916590
     * @date： 2021/4/29 13:47
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    HalfStore getHalfStore(AsseHalfStoreRecord record);

    /**
     * @methodName: getProjectAndProdOrdInfo
     * @description: 获取项目信息和生产令信息
     * @param: proNo
     * @return： com.zw.mes.module.transpositionManager.model.ProjectAndProdOrdInfo
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/7 9:25
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProjectAndProdOrdInfo getProjectAndProdOrdInfo(@Param("proNo") String proNo);

    /**
     * @methodName: getRecProdNoList
     * @description: 获取接收的生产令列表
     * @param:
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.Select2Model>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/11 15:24
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<Select2Model> getRecProdNoList(@Param("prodNo") String prodNo);
    /**
     * @methodName: getRecProdNoSpecialList
     * @description: 获取接收的类型列表
     * @param: prodNo
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.Select2Model>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 8:54
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<Select2Model> getRecProdNoSpecialList(@Param("prodNo") String prodNo);
    /**
     * @methodName: getRecProdNoPartList
     * @description: 获取接收的部分列表
     * @param: prodNo
     * @param: special
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.Select2Model>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 9:01
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<Select2Model> getRecProdNoPartList(@Param("prodNo") String prodNo,@Param("special") String special);

    /**
     * @methodName: updateFlowRouteByParmaryKey
     * @description: 根据主键更新路线信息
     * @param: route
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 8:26
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateFlowRouteByParmaryKey(FlowRoute route);

    /**
     * @methodName: getRecProdNoDrawNoList
     * @description: 获取接收的图号列表
     * @param: prodNo
     * @param: special
     * @param: partId
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.Select2Model>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 9:18
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<Select2Model> getRecProdNoDrawNoList(@Param("prodNo") String prodNo,@Param("special") String special,@Param("partId") Integer partId);
    /**
     * @methodName: updateRouteDate
     * @description: 更新此路线时间
     * @param: currentDate
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 15:59
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRouteDate(FlowRoute flowRoute);

    /**
     * @methodName: getDeptByPrimaryKey
     * @description: 根据主键获取部门
     * @param: deptId
     * @return： com.zw.mes.entity.sys.Dept
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/13 10:08
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Dept getDeptByPrimaryKey(Integer deptId);
    /**
     * @methodName: updateRoute
     * @description: 更新路线
     * @param: next
     * @return： int
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/28 11:08
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    int updateRoute(FlowRoute next);
    /**
     * 获取总数量
     * @param sheet
     * @return
     */
    int getLastRouteTotalCount(FlowSheetModel sheet);
    /**
     * 获取完成的总数量
     * @param sheet
     * @return
     */
    int getLastRouteTotalFinishedCount(FlowSheetModel sheet);
    /**
     * 更改开始时间
     *
     * @param prodNo
     * @param protCod
     * @param startDate
     */
    int updateTaskStatusAndStartDat(@Param("prodNo") String prodNo,
                                    @Param("protCod") String protCod,
                                    @Param("protStaDat") Date startDate,
                                    @Param("protDepId") Integer protDepId,
                                    @Param("protUsrId") Integer protUsrId);
    /**
     * 更改结束时间
     * @param prodNo
     * @param protCod
     * @param endDate
     * @param protDepId
     * @param protUsrId
     */
    int updateTaskStatusAndEndDat(@Param("prodNo") String prodNo,
                                  @Param("protCod") String protCod,
                                  @Param("protEndDat") Date endDate,
                                  @Param("protDepId") Integer protDepId,
                                  @Param("protUsrId") Integer protUsrId);

    /**
     * 更改反馈结束时间
     * @param prodNo
     * @param prprCod
     * @param prprRetDat
     * @param prprDepId
     * @param prprRetUsrId
     * @return
     */
    int updateReturnEndDate(@Param("prodNo") String prodNo,
                            @Param("prprCod") String prprCod,
                            @Param("prprRetDat") Date prprRetDat,
                            @Param("prprDepId") Integer prprDepId,
                            @Param("prprRetUsrId") Integer prprRetUsrId);
    /**
     * 获取该序数量
     *
     * @param route
     * @param prodNo
     * @return
     */
    int getRoteCountBySheetId(@Param("route") String route,@Param("prodNo") String prodNo);
    /**
     * 获取该序完成数量
     *
     * @param route
     * @param prodNo
     * @return
     */
    int getRoteCompleteCountBySheetId(@Param("route") String route,@Param("prodNo") String prodNo);
    /**
     * 获取开始时间
     *
     * @param prodNo
     * @param protCod
     * @return
     */
    Date getDataBaseStartDate(@Param("prodNo") String prodNo, @Param("protCod") String protCod);

    /**
     * 依据主键修改下料状态
     * @param id
     * @return
     */
    int updateFlowSheetCutStatusByPrimary(Integer id);
}
